package com.sawgdev.android.bokuiki.common;

import com.sawgdev.android.bokuiki.R;

import android.app.Dialog;
import android.content.Context;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

/**
 * <pre>
 * カスタムダイアログを表示する為のクラスです。
 * </pre>
 *
 * @author Bambooroid
 */
public class CustomDialog {

    private Dialog dialog;

    public CustomDialog(Context context) {
        dialog = new Dialog(context, R.style.custom_dialog_theme);
        dialog.setContentView(R.layout.custom_dialog);
    }

    public void showDialog(String title, String msg, View.OnClickListener listenerInput, View.OnClickListener listenerCancel) {
        dialog.setTitle(title);

        TextView tvwMessage = (TextView) dialog.findViewById(R.id.tvw_dialog_message);
        tvwMessage.setText(msg);

        EditText etxPassword = (EditText) dialog.findViewById(R.id.etx_dialog_password);
        etxPassword.setText("");

        if (listenerInput != null) {
            Button btnOk = (Button) dialog.findViewById(R.id.btn_dialog_ok);
            btnOk.setOnClickListener(listenerInput);
            btnOk.setVisibility(View.VISIBLE);
        }

        if (listenerCancel != null) {
            Button btnCancel = (Button) dialog.findViewById(R.id.btn_dialog_cancel);
            btnCancel.setOnClickListener(listenerCancel);
            btnCancel.setVisibility(View.VISIBLE);
        }

        dialog.setCancelable(true);
        dialog.show();
    }

    /**
     * <pre>
     * ダイアログを閉じるメソッドです。
     * ボタン押下時にダイアログを閉じる場合は、このメソッドを利用してください。
     * </pre>
     */
    public void cancelDialog() {
        dialog.cancel();
    }
}
